#pragma once
#include <fmt/core.h>
#include <unistd.h>
#include <functional>

// 任务形式2
// 我们定义了一个任务类型，返回值void，参数为空
using task_t = std::function<void()>;

inline void Download()
{
    fmt::println("我是一个下载任务...");
    sleep(3);  // 假设处理任务比较耗时
}

/**
 * @brief 任务类，用于执行简单的加法操作。
 *
 * 该类提供了执行两个整数相加的功能。用户可以通过构造函数初始化两个整数，
 * 然后调用Execute方法来执行加法操作，并通过Result方法获取结果。
 */
class Task
{
public:
    Task() {}
    Task(int x, int y) : _x(x), _y(y) {}
    void Execute() { _result = _x + _y; }
    int X() { return _x; }
    int Y() { return _y; }
    int Result() { return _result; }

private:
    int _x;
    int _y;
    int _result;
};
